Project Definition:
 Create a program to open and preview an existing RapidQ ICON.
 Modify the Icon, or create a new ICON from scratch.


       Required resources:
 Use the existing HEX-EDIT.EXE program source file HEX-EDIT.BAS for a skeleton.


       Specifications for the ICONs used with RapidQ:
 766 bytes per file, 32x32 pixels image, 16 color palette, 
 4 bits per pixel, 1 frame file structure.

 The program opens any RapidQ compatible icon file and displays the bytes.

 The program may be started by double clicking the programs icon. The program 
     will begin by prompting for an icon to be selected using QQopeDialog.

 The program may be started by drag and drop of an existing icon's icon onto the
     programs icon, using the $command feature.

 Two RichEdit displays on a single Scrollable ScrollBox.
     one to display the file data in HEX bytes.
     another to display the relative file addresses of the data.
     clicking on the displayed address displays its function.

 Two QCanvas displays to display the icon image.
     one to show what the icon will look like, in size
     another for editing, eight times larger.

 Sixteen QPanels to display the selected icon colors
     any of which may be selected as the active color for editing
     new colors may be created with a Red, Green and Blue scroll bar
     and drag-dropped into any of the 16 palettes.

 
 Additional buttons dreated to....
     Open   : select a new icon file for editing.
     Save   : to save the edited data as a new icon file using QSaveDialog.
     Post   : refresh the image at any time during editing.
     BackUp : to backup the edited Hex Data into the Z() array.
     Restore: The complementary function of the BackUp function.
     New    : Loads a prepared icon already in Data storage.
     Mode   : Either XOR or AND depending on which icon data is being edited.

 Additionally, when the cursor is moved over a color palette, the icon color byte
 in the XOR field or the transparent bit in the AND field, that the corresponding 
 bytes in the Hex Display be highlighted for editing with the keyboard rather then
 using the mouse. It also identifys the data locating on the images in the Hex 
 data field. 

 The SAVE function, moves the Hex Display data into the Z(array) and then is output 
 to the disk as an icon file. This ensures that the icon data be in the Hex Display 
 is indeed the bytes that will be in the file, rather than a computer generated 
 bitmap that would be created with a LOADFROM BITMAP sub.

 Temporarily, a temp button, a temp EditBox and a temp sub-routine are generated to 
 permit real time editing of the running program during development. They will 
 likely want to be removed from the program when you are done playing with it.